#include "../head.h"

/*显示屏初始化及部分操作*/

int *plcd = NULL; // 帧缓冲的首地址
int fd = -1;

void LCD_Init() // 屏幕初始化
{
    fd = open("/dev/fb0", O_RDWR); // 打开屏幕

    // 内存映射
    plcd = mmap(NULL, 800 * 480 * 4, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
}

void LCD_Close() // 关闭屏幕
{
    munmap(plcd, 800 * 480 * 4);
    close(fd);
}

// 画点
void display_point(int x, int y, int color)
{
    if (x >= 0 && x < 800 && y >= 0 && y < 480)
    {
        *(plcd + y * 800 + x) = color;
    }
}

// 纯色
void show_a_color(int color)
{
    int i, j;
    for (i = 0; i < 800; i++)
    {
        for (j = 0; j < 480; j++)
        {

            *(plcd + j * 800 + i) = color;
        }
    }
}
